package gui.dados.funcionario;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class TelaGerente extends JFrame implements ActionListener {
	
	private JButton btConsultar, btAlterar, btCadastrar, btExcluir;
	public static JTextField txtLogin;
	private JTextArea txtCampoDeDados, txtCampoDeDados2;
	
	
	public TelaGerente(String titulo, int largura, int altura){
		super(titulo);
		this.setBounds(0, 0, largura, altura);
		setResizable(false);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		configurarTela();
		setVisible(true);	
	}

	private void configurarTela() {
		btConsultar = new JButton("Consultar");
		btAlterar = new JButton("Alterar");
		btCadastrar = new JButton("Cadastrar");
		btExcluir = new JButton("Excluir");
		
		btCadastrar.addActionListener(this);
		btAlterar.addActionListener(this);
		
		txtLogin = new JTextField(30);
		txtCampoDeDados = new JTextArea(20,6);
		txtCampoDeDados2 = new JTextArea(20,6);
		
		JPanel painelSuperior = new JPanel();
		JPanel painelCentro = new JPanel();
		JPanel painelInferior = new JPanel();
		
		painelSuperior.setBackground(Color.white);
		painelCentro.setBackground(Color.white);
		painelInferior.setBackground(Color.red);
		
		add(painelSuperior, BorderLayout.NORTH);
		add(painelCentro, BorderLayout.CENTER);
		add(painelInferior, BorderLayout.SOUTH);
		
		painelSuperior.setLayout(new GridLayout(1,2));
		painelSuperior.add(new JLabel("Login gerente: "));
		painelSuperior.add(txtLogin);
		painelSuperior.add(btConsultar);
		
		painelCentro.setLayout(new GridLayout(3,2));
		painelCentro.add(new JLabel("Campo de dados"));
		painelCentro.add(btCadastrar);
		painelCentro.add(txtCampoDeDados);
		painelCentro.add(btAlterar);
		painelCentro.add(txtCampoDeDados2);
		painelCentro.add(btExcluir);
		
		painelInferior.add(new JLabel("CopyRigth UFRPE BSI 2� per�odo 2013"));
		
		btConsultar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				txtCampoDeDados.setText("");
				txtCampoDeDados2.setText("");
				String login = txtLogin.getText();
				
				try {
					if(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getCargo().toUpperCase().equals("GERENTE")){
					txtCampoDeDados.setText("Nome: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getNome()
							+"\nTelefone: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getTelefoneCelular())
							+"\nE-mail: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getEmail())
							+"\nCargo: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getCargo()
									+ "\nLogin: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getLogin()
											+"\nAcessos: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getAcessos())))));
					
					txtCampoDeDados2.setText("Rua: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getRua())+
							"\nN�mero: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getNumero())+
							"\nBairro: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getBairro())+
							"\nCidade: "+(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getCidade()));
					}else{
						JOptionPane.showMessageDialog(null, "Tela para manipular apenas gerentes");
					}
					
				} catch (Exception e) {
					JOptionPane.showMessageDialog(null, "O login n�o existe");
				}
				
			}
		});
		
		btExcluir.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				String login = txtLogin.getText();
				try {
					if(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getCargo().toUpperCase().equals("GERENTE")){
					if(login.length() !=0){
					TelaCadastrarGerente.cdf.excluirFuncionario(login);
					txtCampoDeDados.setText("");
					txtCampoDeDados2.setText("");
					JOptionPane.showMessageDialog(null, "O gerente foi exclu�do com sucesso");
					}else{
						JOptionPane.showMessageDialog(null, "Tela para manipular apenas gerentes");
					}
					}else{
						JOptionPane.showMessageDialog(null, "Insira o login do funcion�rio a ser exclu�do");
					}
				} catch (Exception e2) {
					JOptionPane.showMessageDialog(null,"O gerente n�o existe");
				}
				
			}
		});
		
		
		
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == btCadastrar){
			TelaCadastrarGerente tela = new TelaCadastrarGerente("Tela de cadastro de gerente", 500, 400);
		}else if(e.getSource() == btAlterar){
			TelaAlterarGerente tela = new TelaAlterarGerente("Tela Alterar Gerente", 500, 400);
		}
		
	}
}
